Skip to content

feat: add availability scheduler block#104

Merged
starc007 merged 2 commits into
mainfrom
feat/availability-scheduler
Jul 10, 2026
Merged

feat: add availability scheduler block#104
starc007 merged 2 commits into
mainfrom
feat/availability-scheduler

Conversation

@starc007

Copy link
Copy Markdown
Owner

Weekly availability editor (cal.com-style), built in beUI's own style.

Block — Availability Scheduler (blocks)

  • Per-day spring toggle (Switch); flipping off springs the row to "Unavailable".
  • Time ranges add/remove with blur-slide + layout reflow (AnimatePresence + SPRING_LAYOUT).
  • Times pick from the library Select (scrollable list).
  • Copy menu clones a day's hours to selected days / every day, with a copy→check confirmation.
  • Controlled + uncontrolled, reduced-motion safe.
  • Split into components/motion/availability-scheduler/ (types, icon-button, time-select, copy-menu, day-row, index).
  • Mobile: rows stack (header + actions, ranges below), time selects go fluid.

Popover — Morph variant

  • New MorphPopover / MorphPopoverTrigger / MorphPopoverContent (components/motion/popover-morph.tsx), installs as @beui/popover-morph.
  • Panel is laid out full size but clipped to the corner nearest the trigger, then unclips as one piece; a drop-shadow filter hugs the clipped shape (box-shadow gets clipped). Open + close use the same spring.
  • Registered as a popover variant alongside the renamed Gooey Popover.

Tooltip

  • Renders through a portal at fixed viewport coords, so it escapes row stacking contexts instead of being painted over.
  • Dropped backdrop-blur for a solid surface; kept the motion (filter) blur; memoized variants.

Misc

  • Example preview stage no longer has a bg-card box (matches the single-preview stage), so goo/morph panels contrast instead of blending.

bun run check passes (typecheck, lint, registry — 45 components).

starc007 added 2 commits July 10, 2026 01:38
Weekly availability editor: per-day spring toggle, time ranges that add/remove
with blur-slide + layout reflow, times from the library Select, and a copy menu
that clones a day's hours to selected days.

Split into components/motion/availability-scheduler/ (types, icon-button,
time-select, copy-menu, day-row, index).

- add Morph Popover as a popover variant (components/motion/popover-morph.tsx,
  installs @beui/popover-morph): panel clip-morphs open from the trigger corner
  with a drop-shadow that hugs the shape
- tooltip: render through a portal at fixed coords so it escapes row stacking
  contexts, drop backdrop-blur for a solid surface
- stack day rows on mobile (header + actions, ranges below), fluid time selects
- shrink the day switch a touch
- rename gooey popover variant title, drop the example preview stage background
@starc007 starc007 merged commit c762936 into main Jul 10, 2026
2 checks passed
@starc007 starc007 deleted the feat/availability-scheduler branch July 10, 2026 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant